package com.pzb.goods.domain;

import java.math.BigDecimal;
import java.util.List;
import com.pzb.common.core.domain.entity.PicFile;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.pzb.common.core.domain.BaseEntity;

/**
 * 商品管理对象 gd_goods
 * 
 * @author Mr_Wu
 * @date 2021-11-30
 */
public class GdGoods extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    private Long itemId;

    private Long itemGoodsId;


    /** 商户ID */
    private String extAppid;

    /** 商品编码 */
    private String goodsCode;

    /** 商品名称 */
    private String name;

    /** 商品主图视频 */
    private Long video;

    private String videoPath;

    private String picturePath;

    private List<PicFile> picFileList;

    /** 商品分类编号 */
    private String goodsClassId;

    /** 市场参考价 */
    private BigDecimal referencePrice;

    /** 选中的规格key集合 */
    private List<String> unitsKeys;
    /** 选中的规格key集合 */
    private List<Object>  unitsValues;

    private List<GdGoodsUnits> unitsList;

    private List<GdGoodsAttributeValue> attributeValueList;

    /** 商品状态：0为下架，1为上架 */
    private String status;

    /** 商品详情 */
    private String content;

    /** 快递费模板 */
    private Long templateId;

    private Long[] goodsIds;

    /** 库存 */
    private Integer stock;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public Long getItemId() {
        return itemId;
    }

    public void setItemId(Long itemId) {
        this.itemId = itemId;
    }

    public Long getItemGoodsId() {
        return itemGoodsId;
    }

    public void setItemGoodsId(Long itemGoodsId) {
        this.itemGoodsId = itemGoodsId;
    }

    public void setExtAppid(String extAppid)
    {
        this.extAppid = extAppid;
    }

    public String getExtAppid() 
    {
        return extAppid;
    }
    public void setGoodsCode(String goodsCode) 
    {
        this.goodsCode = goodsCode;
    }

    public String getGoodsCode() 
    {
        return goodsCode;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setVideo(Long video)
    {
        this.video = video;
    }

    public Long getVideo()
    {
        return video;
    }

    public String getVideoPath() {
        return videoPath;
    }

    public void setVideoPath(String videoPath) {
        this.videoPath = videoPath;
    }

    public String getPicturePath() {
        return picturePath;
    }

    public void setPicturePath(String picturePath) {
        this.picturePath = picturePath;
    }

    public List<PicFile> getPicFileList() {
        return picFileList;
    }

    public void setPicFileList(List<PicFile> picFileList) {
        this.picFileList = picFileList;
    }

    public void setGoodsClassId(String goodsClassId)
    {
        this.goodsClassId = goodsClassId;
    }

    public String getGoodsClassId() 
    {
        return goodsClassId;
    }
    public void setReferencePrice(BigDecimal referencePrice) 
    {
        this.referencePrice = referencePrice;
    }

    public BigDecimal getReferencePrice() 
    {
        return referencePrice;
    }

    public List<String> getUnitsKeys() {
        return unitsKeys;
    }

    public void setUnitsKeys(List<String> unitsKeys) {
        this.unitsKeys = unitsKeys;
    }

    public List<Object> getUnitsValues() {
        return unitsValues;
    }

    public void setUnitsValues(List<Object> unitsValues) {
        this.unitsValues = unitsValues;
    }

    public List<GdGoodsUnits> getUnitsList() {
        return unitsList;
    }

    public void setUnitsList(List<GdGoodsUnits> unitsList) {
        this.unitsList = unitsList;
    }

    public List<GdGoodsAttributeValue> getAttributeValueList() {
        return attributeValueList;
    }

    public void setAttributeValueList(List<GdGoodsAttributeValue> attributeValueList) {
        this.attributeValueList = attributeValueList;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }

    public Long getTemplateId() {
        return templateId;
    }

    public void setTemplateId(Long templateId) {
        this.templateId = templateId;
    }

    public Long[] getGoodsIds() {
        return goodsIds;
    }

    public void setGoodsIds(Long[] goodsIds) {
        this.goodsIds = goodsIds;
    }

    public Integer getStock() {
        return stock;
    }

    public void setStock(Integer stock) {
        this.stock = stock;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("extAppid", getExtAppid())
            .append("goodsCode", getGoodsCode())
            .append("name", getName())
            .append("video", getVideo())
            .append("goodsClassId", getGoodsClassId())
            .append("referencePrice", getReferencePrice())
            .append("status", getStatus())
            .append("content", getContent())
            .append("expressTemplate", getTemplateId())
            .toString();
    }
}
